This invention relates generally to a method and apparatus for calibration of printers. More particularly, the invention relates to a printer calibration method and apparatus whereby an unsophisticated user can calibrate a color printer by visually matching a reference gray card with a corresponding patch on a printed test pattern, without the use of a color measurement instrument such as a calorimeter or spectrophotometer.
A common problem when dealing with digital color imaging devices is getting the colors to match. For example, a color scanner is an input device in an image processing system that operates in some given device dependent color space such as red, green and blue (RGB) color space where colors are described in terms of RGB values or digits. The RGB values associated with specific colors are particular for the given device so that a digital imaging device which uses RGB digits (such as a monitor, digital camera or scanner) transforms a digital image into device-dependent RGB color space having RGB values which are dependent not only on the colors in the image, but on the particular device being used.
Digital output devices, e.g. printers, also operate in a given device-dependent color space which typically differs from those used by input devices. For example, many printers operate in cyan magenta, yellow and black (CMYK) device-dependent color space where output device color digits are CMYK values. Moreover, since the CMYK values are device-dependent, colors printed on any given printer will probably not match colors printed on a different printer for the same CMYK values. Further complicating color matching between devices is the fact that different devices have different color capabilities. Every rendering device, such as a printer or monitor, has a limited range of colors, i.e. gamut, that it can reproduce. Those skilled in the art will recognize that color display monitors tend to be able to produce a wider range of lighter colors whereas color printers tend to be able to produce a wider range of darker colors. Consequently, the gamut for a color display monitor is different from the gamut for a color printer. As a result, some colors displayed on monitors cannot be reproduced on color printers and vice versa. In other words, the combination of color device digits needed to acquire, process or render a particular color for one device is usually not the same as the combination of color device digits needed to acquire, process or render the same color on another device.
Many solutions exist for transforming color information from an input device to an output device in such a way that the perceived colors in the image are preserved. Often, the solution requires multiple transformations to account for more than one pair of input and output devices. FIG. 1 illustrates a block view of a typical imaging system 8 that incorporates such transforms.
A physical image 10 is acquired in digital form by an image acquisition, e.g. input, device such as a scanner 12. The scanner 12 translates the physical image 10 into a digital image 14 having device digits which are dependent upon the scanner 12 The digital image 14 is then sent for processing in the computer 6 where it is passed though two separate transforms. The color transform 16 converts the digital image 14 into a first printer image 20 appropriate for sending to a printer 24 of a particular model ("Model A"). The color transform 18 converts the digital image 14 into a second printer image 22 appropriate for sending to printers 26 or 28 of a different model ("Model B"). The first printer image 20 is then sent to the Model A printer 24, which produces a hardcopy 30. The second printer image 22 is sent to two distinct Model B printers 26 and 28 which produce hardcopies 32 and 34, respectively.
There are many ways in which the transforms 16 and 18 can be implemented. A common method is to use profiles for each input and output device. A device profile is standardized and defined as "a digital representation of the relation between device coordinates and a device-independent specification of color" in the International Color Consortium (ICC) Profile Format Specification, Version 3.3, Nov. 11, 1996, page 101 incorporated herein in its entirety for supplemental background information which is non-essential but helpful in appreciating the applications of the present invention.
The characterization of a device's image pixel data in device-independent color space is commonly codified in a tagged file structure, referred to as the device profile, that accompanies the digital imaging device.
A standard ICC profile includes header information, a tag table and tagged element data. The profile header provides the necessary information to allow a receiving system to properly search and sort ICC profiles. The header includes, but is not limited to, the following parameters: size; color management module (CMM) type; version number, device class; color space; connection space; creation date and time; file signature; primary platform target; flags; device manufacturer, device model; device attributes; rendering intent; XYZ values; and the name of the creator.
The profile size is given in bytes. The CMM, profile version number and device class each identified. The three basic device profile classes are input, output and display. Profiles are also classified as device link, color space conversion, abstract or named color profiles. Device link profiles provide a mechanism in which to save and store a series of device profiles and non-device profiles in a concatenated format as long as the series begins and ends with a device profile. Color space conversion profiles are used as a convenient method for CMMs to convert between different non-device color spaces. Abstract color profiles provide a generic method for users to make subjective color changes to images or graphic objects by transforming the color data within a profile connection space (PCS) to be described later. Named color profiles are related to device profiles so that, for a given device there would be one or more device profiles to handle process color conversions and one or more named color profiles to handle named colors. The color space of the data stored in the profile could be any color space such as XYZ, L*a*b*, Luv, RGB, CMY, CMYK, etc. Further, the profile connection space can be any device-independent color space such as XYZ or L*a*b*. The primary platform signature indicates the primary platform or operating system for which the profile was created. The profile flags indicate various hints for the CMM such as distributed processing and caching options. The device attributes are noted which are unique to the particular device setup such as the media type. The rendering intent is either perceptual, relative colorimetric, saturation or absolute colorimetric.
The tag table acts as a table of contents for the profile tags and the tag element data therein. Each profile classification requires a different set of tags. Of course, the intent of using tags with profiles is to provide a common base level of functionality. One example of a tag is the calibrationDateTimeTag which provides profile calibration date and time. Initially, this tag matches the contents of the creationDateTime header flag. This allows applications and utilities to verify if this profile matches a vendor' profile and how recently calibration has been performed. Another example of a tag is the mediaWhitePointTag which specifies the media white point and is used for generating absolute colorimetry. It is referenced to the profile connection space so that the media white point as represented in the profile connection space is equivalent to this tag value. Many other profile tags are available as described in the ICC specification
The ICC specification further defines a Profile Connection Space (PCS) as a device-independent color space which can be used as a standard intermediary color space for transforming color information from one device-dependent color space to another (e.g. RGB to CMYK). For example, the transformation of a color image from a digital camera to a printer can be described as a transformation into the PCS via the digital camera's profile followed by a transformation out of the PCS via the printer's profile. The PCS, however, is a virtual space so that the image may never actually be represented in the PCS on disk or in a computer memory. Thus, the PCS is regarded as a virtual stage of the image processing in contrast to an interchange or exchange color space, which is an encoding for the storage and transmission of images.
Although the use of profiles is common as standardized by the ICC, any known procedure for transforming color data between device-independent space and device-dependent space can be utilized with the present invention.
FIG. 2 illustrates the use of profiles to implement the transforms of FIG. 1. The digital image 14 is transformed into a device-independent image 42 in device-independent color space in accordance with information supplied by the scanner profile 40. Thereafter the device-independent image 42 is transformed into the device-dependent color space of the printers 24, 26 and 28 (see FIG. 1) in accordance with information supplied by the printer profiles 44 and 46, respectively. If the profiles 44 and 46 each contain the proper information for transforming the color image data from the device-independent image 42, the resulting hardcopies or physical images 30, 32 and 34 generated by the printers 24, 26 and 28, respectively, should look identical. In practice, this is rarely the case due to variations within the printers. These variations are caused by numerous factors such as: tolerances in original parts used to manufacture the printers; variations in amount and type of usage; changes in the device's consumables (e.g. new paper, new ink, new ribbons); changes in the environment (e.g. temperature and humidity); maintenance; replacement of parts; and aging of the device over time. Moreover, a transform is designed to be used not only for a particular printer or model of printer, but for a particular set of viewing conditions for the resultant physical image. One aspect of these viewing conditions is the spectral power distribution of light in which the physical image is viewed. Small variations in the actual lighting used can lead to variations in the observed image. In fact, gross variations in lighting usually negate the desired effect of the transform, resulting in poor color reproduction of the physical image when produced by the printer.
In order to compensate for the above shortcomings in consistent hardcopy reproduction of an image, calibration is used to discover and correct for variations in individual printer behavior.
There are many methods of printer calibration currently in existence. Typically, calibration is performed by printing out a set of color patches, measuring those patches with a color-measuring instrument such as a spectrophotometer or colorimeter, comparing those measurements with a set of expected measurements, and correcting for the difference between the two sets. A spectrophotometer measures the spectrum of energy reflected across the range of visible wavelengths, whereas a colorimeter measures the specific device-independent values of a color patch.
Disadvantages to conventional calibration methods include the requirement of expensive measurement equipment (such as the spectrophotometer or calorimeter), intricate knowledge of the equipment's operation and interpretation of the resulting measurements. Since calibration is often performed in the field by the end user of the system, rather than by the system designers, this puts a burden on the end user. Furthermore, measuring instruments are subject to error. For instance, most instruments contain their own light source to illuminate the object being measured. Many of these instruments assume that the same type of light will be used to view the measured object, but this is rarely the case in real-world situations. Even devices such as spectrophotometers, which try to eliminate the effect of their built-in illuminant, are subject to error because the spectral power distribution of the built-in light may vary from the spectral power distribution of the actual illuminant used, and any fluorescence effects will cause calculated measurements to be incorrect. A further disadvantage of conventional calibration methods is that there is no accounting for any small difference between the actual lighting and the assumed lighting.
It is thus a primary object of the present invention to overcome the above and other disadvantages of conventional printer calibration by providing an easy to use printer calibration method and system.
It is another object of the present invention to provide a printer calibration method and system which does not require the use of external measuring devices such as a spectrophotometer or colorimeter.
It is yet another object of the present invention to provide a printer calibration method and system which accounts for possible small variations between the actual lighting and the lighting which is expected by the transform.
It is further an object of the present invention to provide a printer calibration method and system which overcomes variations between individual printers of a same make and model.
It is still further an object of the present invention to provide a printer calibration method and system which generates a solution set of correction values for each color channel of a printer in response to a mid-gray point derived as a function of actual versus believed color values for that point.
These and other objects of the invention will be apparent to those skilled in the art from the following detailed description when read in conjunction with the accompanying drawings and the appended claims.